package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为集合
 * 使用数组的工具类Arrays的asList方法，可以将一个数组转换为一个List集合。
 * 不支持转换为Set集合，因为Set集合不能放重复元素。
 * @author 范传奇
 *
 */
public class ArrayToListDemo {
	public static void main(String[] args) {
		String[] array = {"one","two","three","four"};
		System.out.println("array:"+Arrays.toString(array));
		
		List<String> list = Arrays.asList(array);
		System.out.println("list:"+list);
		/*
		 * 修改集合元素就是修改原数组对应的元素
		 */
		list.set(1,"2");
		System.out.println("list:"+list);
		System.out.println("array:"+Arrays.toString(array));
		//由于数组是定长的，因此该集合不支持增删元素，会抛出异常的。
//		list.add("five");//
		
		//单独创建一个集合，将数组转换的集合元素导入就可以随意增删了
		/*
		 * 所有的集合都支持一个参数为Collection的构造方法，作用是在创建当前集合的
		 * 同时包含给定集合的所有元素。
		 */
		//创建list2集合的同时包含list所有元素
		List<String> list2 = new ArrayList<>(list);
		System.out.println("list2:"+list2);
		list2.add("five");
		System.out.println("list2:"+list2);
	}
}











